﻿using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using PhatPhucLoc.common;
using PhatPhucLoc.model;
using PhatPhucLoc.dao;


namespace PhatPhucLoc.view
{
    public partial class MainForm : Form
    {
        ArrayList listform = new ArrayList();
         
        public MainForm()
        {
            InitializeComponent();
            tslVaiTro.Text = "Vai Trò : "+Constants.USER_LOGIN.TenVaiTro;
            tslTenNV.Text = "Nhân Viên : " + Constants.USER_LOGIN.HoTen;
            LoadValue();
            String applicationPath = Application.StartupPath;
            timer.Start();
        }

        /**************************/
        // Ham Lay du Lieu Menu
        /*************************/
        public void LoadValue()
        {
            int i = 0; 
            String roleID = Constants.USER_LOGIN.MaVaiTro;
            ArrayList sysRoleMenuModelList = SysFunctionDAO.getListFunctionByRole(roleID);
            Constants.MENU_LIST = new ArrayList();
            foreach (SysRoleFuctionModel model in sysRoleMenuModelList)
            {
                
                FuctionModel functionModel = new FuctionModel();
                functionModel.MenuItem = new ToolStripMenuItem();

                if (model.FuctionImage.Equals(""))
                {
                    Image img = null;
                    functionModel.MenuItem.Image = img;
                }
                else
                {
                    
                    Image img = Image.FromFile(model.FuctionImage);
                    functionModel.MenuItem.Image = img;
                }
         
                functionModel.MenuItem.Name = model.FuctionName;
                functionModel.MenuItem.Text = "&" + model.FuctionName;
                functionModel.FunctionID = model.FunctionID;
                functionModel.MenuItem.Size = new System.Drawing.Size(135, 22);
                functionModel.FunctionImage = model.FuctionImage;
                functionModel.FunctionLink = model.FuctionLink;
                functionModel.ParentMenuID = model.ParentID;

                Constants.MENU_LIST.Add(functionModel);
            }

            if (Constants.MENU_LIST.Count > 0)
            {
                //MenuStrip menuStrip = new MenuStrip();
               //menuStrip.Location = new System.Drawing.Point(0, 0);
                //menuStrip.Name = "menuStrip";
                //menuStrip.Text = "menuStrip";
               //menuStrip.Size = new System.Drawing.Size(920, 24);
               //menuStrip.TabIndex = 0;
               //menuStrip.BackColor = System.Drawing.SystemColors.ControlDark;
                foreach (FuctionModel obj in Constants.MENU_LIST)
                {
                    if (obj.ParentMenuID.Equals(String.Empty))
                    {
                        
                        menuStrip.Items.Add(obj.MenuItem);
                        obj.MenuItem.Click += new EventHandler(menuClickAction);
                        foreach (FuctionModel subObj in Constants.MENU_LIST)
                        {
                            if (subObj.ParentMenuID.Equals(obj.FunctionID))
                            {
                                if (subObj.MenuItem.Name.Equals(""))
                                {
                                    ToolStripSeparator tss = new ToolStripSeparator();
                                    obj.MenuItem.DropDownItems.Add(tss);
                                }
                                else
                                {
                                    obj.MenuItem.DropDownItems.Add(subObj.MenuItem);
                                    subObj.MenuItem.Click += new EventHandler(menuClickAction);
                                }
                            }
                        }
                    }
                }

                this.Controls.Add(menuStrip);
            }
        }

        private void menuClickAction(object sender, EventArgs e)
        {
            ToolStripMenuItem menuItem = (ToolStripMenuItem)sender;
            if (menuItem.Name.Equals("2 - Đăng Xuất"))
            {
                Constants.USER_LOGIN = new ThanhVienModel();
                Login formDangNhap = new Login();
                this.Visible = false;
                formDangNhap.ShowDialog();
               
              
            }
            else if (menuItem.Name.Equals("1 - Khách Hàng"))
            {
                foreach (Form f in listform)
                {
                    f.Close();
                }
                FormKhachHang formKhachHang = new FormKhachHang();
                formKhachHang.MdiParent = this;
                formKhachHang.Show();
                listform.Add(formKhachHang);
            }
            else if (menuItem.Name.Equals("2 - Nhóm Hàng"))
            {
                foreach (Form f in listform)
                {
                    f.Close();
                }
                FormNhomHang formNhomHang = new FormNhomHang();
                formNhomHang.MdiParent = this;
                formNhomHang.Show();
                listform.Add(formNhomHang);
            }
            else if (menuItem.Name.Equals("3 - Sản Phẩm"))
            {
                foreach (Form f in listform)
                {
                    f.Close();
                }
                /*FormHangHoa formHangHoa = new FormHangHoa();
                formHangHoa.MdiParent = this;
                formHangHoa.Show();
                listform.Add(formHangHoa);*/
            }
            else if (menuItem.Name.Equals("4 - Sản Phẩm - Khách Hàng"))
            {
                foreach (Form f in listform)
                {
                    f.Close();
                }
                FormKhachHangSanPham formKhachHangSanPham = new FormKhachHangSanPham();
                formKhachHangSanPham.MdiParent = this;
                formKhachHangSanPham.Show();
                listform.Add(formKhachHangSanPham);
            }
            else if (menuItem.Name.Equals("5 - Kho Hàng"))
            {
                foreach (Form f in listform)
                {
                    f.Close();
                }
                FormKhoHang formKhoHang = new FormKhoHang();
                formKhoHang.MdiParent = this;
                formKhoHang.Show();
                listform.Add(formKhoHang);
            }
            //else if (menuItem.Name.Equals("1 - Quản Lý Nhân Viên"))
            //{
            //    foreach (Form f in listform)
            //    {
            //        f.Close();
            //    }
            //    FormQuanLyNhanVien formNhanVien = new FormQuanLyNhanVien();
            //    formNhanVien.MdiParent = this;
            //    formNhanVien.Show();
            //    listform.Add(formNhanVien);
            //}
            //else if (menuItem.Name.Equals("1 - Khu Vực"))
            //{
            //    foreach (Form f in listform)
            //    {
            //        f.Close();
            //    }
            //    FormKhuVuc formKhuVuc = new FormKhuVuc();
            //    formKhuVuc.MdiParent = this;
            //    formKhuVuc.Show();
            //    listform.Add(formKhuVuc);
            //}
            //else if (menuItem.Name.Equals("2 - Nhóm Khách Hàng"))
            //{
            //    foreach (Form f in listform)
            //    {
            //        f.Close();
            //    }
            //    FormNhomKhachHang formNhomKhachHang = new FormNhomKhachHang();
            //    formNhomKhachHang.MdiParent = this;
            //    formNhomKhachHang.Show();
            //    listform.Add(formNhomKhachHang);
            //}
            //else if (menuItem.Name.Equals("3 - Nhóm Nhà Cung Cấp"))
            //{
            //    foreach (Form f in listform)
            //    {
            //        f.Close();
            //    }
            //    FormNhomNCC formNhomNCC = new FormNhomNCC();
            //    formNhomNCC.MdiParent = this;
            //    formNhomNCC.Show();
            //    listform.Add(formNhomNCC);
            //}
           
            //else if (menuItem.Name.Equals("5 - Nhà Cung Cấp"))
            //{
            //    foreach (Form f in listform)
            //    {
            //        f.Close();
            //    }
            //    FormNhaCungCap formNhaCungCap = new FormNhaCungCap();
            //    formNhaCungCap.MdiParent = this;
            //    formNhaCungCap.Show();
            //    listform.Add(formNhaCungCap);
            //}
            //else if (menuItem.Name.Equals("6 - Ngành Hàng"))
            //{
            //    foreach (Form f in listform)
            //    {
            //        f.Close();
            //    }
            //    FormNganhHang formNganhHang = new FormNganhHang();
            //    formNganhHang.MdiParent = this;
            //    formNganhHang.Show();
            //    listform.Add(formNganhHang);
            //}
            //else if (menuItem.Name.Equals("7 - Nhóm Hàng Hóa"))
            //{
            //    foreach (Form f in listform)
            //    {
            //        f.Close();
            //    }
            //    FormNhomHangHoa formNhomHangHoa = new FormNhomHangHoa();
            //    formNhomHangHoa.MdiParent = this;
            //    formNhomHangHoa.Show();
            //    listform.Add(formNhomHangHoa);
            //}
            //else if (menuItem.Name.Equals("8 - Sản Phẩm Hàng Hóa"))
            //{
            //    foreach (Form f in listform)
            //    {
            //        f.Close();
            //    }
            //    FormSanPhamHangHoa formSanPham = new FormSanPhamHangHoa();
            //    formSanPham.MdiParent = this;
            //    formSanPham.Show();
            //    listform.Add(formSanPham);
            //}
            //else if (menuItem.Name.Equals("9 - Danh Mục Đơn Vị Qui Đổi"))
            //{
            //    foreach (Form f in listform)
            //    {
            //        f.Close();
            //    }
            //    FormDonViQuiDoi formDonViQuiDoi = new FormDonViQuiDoi();
            //    formDonViQuiDoi.MdiParent = this;
            //    formDonViQuiDoi.Show();
            //    listform.Add(formDonViQuiDoi);
            //}
            //else if (menuItem.Name.Equals("1 - Xuất Bán Hàng Hóa"))
            //{
            //    foreach (Form f in listform)
            //    {
            //        f.Close();
            //    }
            //    FormXuatBanHangHoa formXuatBangHangHoa = new FormXuatBanHangHoa();
            //    formXuatBangHangHoa.MdiParent = this;
            //    formXuatBangHangHoa.Show();
            //    listform.Add(formXuatBangHangHoa);
            //}
            //else if (menuItem.Name.Equals("2 - Xuất Hàng Trả Nhà Cung Cấp"))
            //{
            //    foreach (Form f in listform)
            //    {
            //        f.Close();
            //    }
            //   // FormXuatTraNhaCungCap formXuatTraNhaCungCap = new FormXuatTraNhaCungCap();
            //   // formXuatTraNhaCungCap.MdiParent = this;
            //   // formXuatTraNhaCungCap.Show();
            //   // listform.Add(formXuatTraNhaCungCap);
            //}
            //else if (menuItem.Name.Equals("4 - Nhập Hàng Từ Nhà Cung Cấp"))
            //{
            //    foreach (Form f in listform)
            //    {
            //        f.Close();
            //    }
            //    FormNhapHangTuNCC formNhapHangTuNCC = new FormNhapHangTuNCC();
            //    formNhapHangTuNCC.MdiParent = this;
            //    formNhapHangTuNCC.Show();
            //    listform.Add(formNhapHangTuNCC);
            //}
            //else if (menuItem.Name.Equals("E - Thống kê hàng hóa bán ra theo nhóm hàng"))
            //{
            //    foreach (Form f in listform)
            //    {
            //        f.Close();
            //    }
            //    FormBaoCaoHangBanTrongKhoangNgayTheoNhomHang formBaoCaoHangBanTrongKhoangNgayTheoNhomHang = new FormBaoCaoHangBanTrongKhoangNgayTheoNhomHang();
            //    formBaoCaoHangBanTrongKhoangNgayTheoNhomHang.MdiParent = this;
            //    formBaoCaoHangBanTrongKhoangNgayTheoNhomHang.Show();
            //    listform.Add(formBaoCaoHangBanTrongKhoangNgayTheoNhomHang);
            //}
            //else if (menuItem.Name.Equals("F - Thống kê hàng hóa bán ra theo nhân viên"))
            //{
            //    foreach (Form f in listform)
            //    {
            //        f.Close();
            //    }
            //    FormBaoCaoHangBanTrongKhoangNgayTheoNhanVien formBaCaoHangBanTrongKhoangNgayTheoNhanVien = new FormBaoCaoHangBanTrongKhoangNgayTheoNhanVien();
            //    formBaCaoHangBanTrongKhoangNgayTheoNhanVien.MdiParent = this;
            //    formBaCaoHangBanTrongKhoangNgayTheoNhanVien.Show();
            //    listform.Add(formBaCaoHangBanTrongKhoangNgayTheoNhanVien);
            //}
            //else if (menuItem.Name.Equals("G - Báo cáo chi tiết hàng hóa bán ra"))
            //{
            //    foreach (Form f in listform)
            //    {
            //        f.Close();
            //    }
            //    FormBaoCaoChiTietHangHoaBanRa formBaoCaoChiTietHangHoaBanRa = new FormBaoCaoChiTietHangHoaBanRa();
            //    formBaoCaoChiTietHangHoaBanRa.MdiParent = this;
            //    formBaoCaoChiTietHangHoaBanRa.Show();
            //    listform.Add(formBaoCaoChiTietHangHoaBanRa);
            //}
            //else if (menuItem.Name.Equals("1 - Bán hàng và thu tiền theo ngày"))
            //{
            //    foreach (Form f in listform)
            //    {
            //        f.Close();
            //    }
            //    FormBaoCaoBanHangVaThuTienTheoNgay formBaoCaoBanHangVaThuTienTheoNgay = new FormBaoCaoBanHangVaThuTienTheoNgay();
            //    formBaoCaoBanHangVaThuTienTheoNgay.MdiParent = this;
            //    formBaoCaoBanHangVaThuTienTheoNgay.Show();
            //    listform.Add(formBaoCaoBanHangVaThuTienTheoNgay);
            //}
            //else if (menuItem.Name.Equals("7 - Nhập Số Nợ Đầu Khi Bắt Đầu Sủ Dụng Phần Mềm"))
            //{
            //    foreach (Form f in listform)
            //    {
            //        f.Close();
            //    }
            //    FormCongNo formCongNo = new FormCongNo();
            //    formCongNo.MdiParent = this;
            //    formCongNo.Show();
            //    listform.Add(formCongNo);
            //}
            //else if (menuItem.Name.Equals("8 - Nhập Số Nợ Đầu Khi NCC Bắt Đầu Sủ Dụng Phần Mềm"))
            //{
            //    foreach (Form f in listform)
            //    {
            //        f.Close();
            //    }
            //    FormCongNoNhaCungCap formCongNoNCC = new FormCongNoNhaCungCap();
            //    formCongNoNCC.MdiParent = this;
            //    formCongNoNCC.Show();
            //    listform.Add(formCongNoNCC);
            //}
            //else if (menuItem.Name.Equals("3 - Xuất Bán Thiết Bị Mã Vạch"))
            //{
            //    foreach (Form f in listform)
            //    {
            //        f.Close();
            //    }
            //    FormXuatBanHangHoaByBarcode formXuatBanHangHoaByBarcode = new FormXuatBanHangHoaByBarcode();
            //    formXuatBanHangHoaByBarcode.MdiParent = this;
            //    formXuatBanHangHoaByBarcode.Show();
            //    listform.Add(formXuatBanHangHoaByBarcode);
            //}
            //else if (menuItem.Name.Equals("2 - Tổng hợp thu chi theo ngày"))
            //{
            //    foreach (Form f in listform)
            //    {
            //        f.Close();
            //    }
            //    FormBaoCaoTongHopThuChiTheoNgay formBaoCaoTongHopThuChiTheoNgay = new FormBaoCaoTongHopThuChiTheoNgay();
            //    formBaoCaoTongHopThuChiTheoNgay.MdiParent = this;
            //    formBaoCaoTongHopThuChiTheoNgay.Show();
            //    listform.Add(formBaoCaoTongHopThuChiTheoNgay);
            //}
            //else if (menuItem.Name.Equals("5 - Hàng hóa tồn kho theo tất cả các nhóm hàng"))
            //{
            //    foreach (Form f in listform)
            //    {
            //        f.Close();
            //    }
            //    FormBaoCaoHangTonTheoTatCaNhomHang formBaoCaoHangTonTheoTatCaNhomHang = new FormBaoCaoHangTonTheoTatCaNhomHang();
            //    formBaoCaoHangTonTheoTatCaNhomHang.MdiParent = this;
            //    formBaoCaoHangTonTheoTatCaNhomHang.Show();
            //    listform.Add(formBaoCaoHangTonTheoTatCaNhomHang);
            //}
            //else if (menuItem.Name.Equals("6 - Hàng hóa tồn kho theo từng nhóm hàng"))
            //{
            //    foreach (Form f in listform)
            //    {
            //        f.Close();
            //    }
            //    FormBaoCaoHangTonTheoTungNhomHang formBaoCaoHangTonTheoTungNhomHang = new FormBaoCaoHangTonTheoTungNhomHang();
            //    formBaoCaoHangTonTheoTungNhomHang.MdiParent = this;
            //    formBaoCaoHangTonTheoTungNhomHang.Show();
            //    listform.Add(formBaoCaoHangTonTheoTungNhomHang);
            //}
            //else if (menuItem.Name.Equals("3 - Hàng hóa tồn kho theo tất cả ngành hàng"))
            //{
            //    foreach (Form f in listform)
            //    {
            //        f.Close();
            //    }
            //    FormBaoCaoHangTonTheoTatCaNganhHang formBaoCaoHangTonTheoTatCaNganhHang = new FormBaoCaoHangTonTheoTatCaNganhHang();
            //    formBaoCaoHangTonTheoTatCaNganhHang.MdiParent = this;
            //    formBaoCaoHangTonTheoTatCaNganhHang.Show();
            //    listform.Add(formBaoCaoHangTonTheoTatCaNganhHang);
            //}
            //else if (menuItem.Name.Equals("4 - Hàng hóa tồn kho theo từng ngành hàng"))
            //{
            //    foreach (Form f in listform)
            //    {
            //        f.Close();
            //    }
            //    FormBaoCaoHangTonTheoTungNganhHang formBaoCaoHangTonTheoTungNganhHang = new FormBaoCaoHangTonTheoTungNganhHang();
            //    formBaoCaoHangTonTheoTungNganhHang.MdiParent = this;
            //    formBaoCaoHangTonTheoTungNganhHang.Show();
            //    listform.Add(formBaoCaoHangTonTheoTungNganhHang);
            //}
            //else if (menuItem.Name.Equals("D - Báo cáo hàng tồn dưới định mức"))
            //{
            //    foreach (Form f in listform)
            //    {
            //        f.Close();
            //    }
            //    FormBaoCaoHangTonDuoiDinhMuc formBaoCaoHangTonDuoiDinhMuc = new FormBaoCaoHangTonDuoiDinhMuc();
            //    formBaoCaoHangTonDuoiDinhMuc.MdiParent = this;
            //    formBaoCaoHangTonDuoiDinhMuc.Show();
            //    listform.Add(formBaoCaoHangTonDuoiDinhMuc);
            //}
            //else if (menuItem.Name.Equals("3 - Thông Tin Sử Dụng"))
            //{
            //    foreach (Form f in listform)
            //    {
            //        f.Close();
            //    }
            //    FormSuaThongTinNhanVien formSuaThongTinNhanVien = new FormSuaThongTinNhanVien();
            //    formSuaThongTinNhanVien.MdiParent = this;
            //    formSuaThongTinNhanVien.Show();
            //    listform.Add(formSuaThongTinNhanVien);
            //}
         }
        
        //private void timer_Tick(object sender, EventArgs e)
       // {
           // tslThoiGian.Text = "Thời gian: " + CommonDAO.getTime() + " |Ngày: " + CommonDAO.getDate();
      //  }

        private void MainForm_FormClosing(object sender, FormClosingEventArgs e)
        {
            Application.Exit();
        }
        
    }
}
